package com.ksvip.next.components.util;


import org.apache.commons.codec.binary.Base64;
import org.apache.commons.codec.digest.DigestUtils;

/**
 * base64 、 MD5 等 加解密工具
 */
public final class CodecUtils {
    /**
     * Md5加密
     * 
     * @param str
     * @return
     */
    public static String md5encode(final String str) {
        return DigestUtils.md5Hex(str);
    }

    /**
     * Base64加密
     * 
     * @param str
     * @return
     */
    public static String base64Encode(final String str) {
        final byte[] b = Base64.encodeBase64(str.getBytes(), true);
        return new String(b);
    }

    /**
     * Base64加密
     * 
     * @param str
     * @return
     */
    public static String base64Encode(final byte[] bye) {
        final byte[] b = Base64.encodeBase64(bye, true);
        return new String(b);
    }

    /**
     * Base64解密
     * 
     * @param str
     * @return
     */
    public static String base64Decode(final String str) {
        final byte[] b = Base64.decodeBase64(str.getBytes());
        return new String(b);
    }

    /**
     * 生成SHA1
     */
    public static String sha1Encode(final String str) {
        return DigestUtils.sha1Hex(str);
    }

}
